﻿//JS判断数组中是否包含某一项
Array.prototype.contains = function (obj) {
    var i = this.length;
    while (i--) {
        if (this[i] === obj) {
            return true;
        }
    }
    return false;
}
//全选
function checkAll(objId, box) {
    $("#" + objId + " input[type=checkbox][id=chkSel]").each(function () {
        $(this).attr("checked", box.checked);
    });
}
// 是否有选中
function isCheck(objId) {
    var flag = 0;
    $("#" + objId + " input[type=checkbox][id=chkSel]").each(function () {
        if ($(this).attr("checked")) {
            flag = 1;
            return;
        }
    });
    if (flag == 0) {
        alert("请选择你要操作的数据");
        return false;
    }
    var msg = "确定要继续吗？";
    var argv = isCheck.arguments;
    if (argv.length > 1)
        msg = argv[1];
    return confirm(msg);
}
//文本框输入限制
function txtLimit(obj, type) {
    switch (type) {
        case 0://整数
            obj.value = obj.value.replace(/\D/g, '');
            break;
        case 1://实数（带小数点）
            var reg = /^[0-9]+(.[0-9]{1,2})?$/;
            if (!reg.test(obj.value)) {
                alert("请输入正确的数字");
                obj.value = "";
                event.returnValue = false;
            }
            break;
        case 2:
            var reg = /^[a-zA-Z0-9]$/;
            if (!reg.test(obj.value)) {
                alert("只能输入字母和数字");
                obj.value = "";
                event.returnValue = false;
            }
            break;
    }
    event.returnValue = true;
}
// 是否空值 包括空格
function isEmpty(str) {
    if (str.replace(/\s/gi, "") == "")
        return true;
    else
        return false;
}
function selTag(obj) {
    if ($(obj).hasClass("selTag"))
        return false;
    else {
        $(obj).addClass("selTag");
        $(obj).siblings(".selTag").removeClass("selTag");
        return true;
    }
}
//判断是否允许上传的图片类型
function isAllowImg(url) {
    if (url.replace(/\s/gi, "") != "") {
        //这里设置允许的扩展名
        var AllowExt = ".jpg|.gif|.jpeg|.png|.bmp";
        var ExtOK = true;
        var FileExt = url.substr(url.lastIndexOf("."));
        //判断文件类型是否允许上传 
        if (AllowExt.indexOf(FileExt) == -1)
            ExtOK = false;
        if (ExtOK == false) {
            alert('你上传的图片格式不对！只支持格式为“' + AllowExt + '”的图片');
        }
        return ExtOK;
    }
}
//判断是否允许上传的图片类型
function isExcel(url) {
    if (url.replace(/\s/gi, "") != "") {
        //这里设置允许的扩展名
        var AllowExt = ".xls";
        var ExtOK = true;
        var FileExt = url.substr(url.lastIndexOf("."));
        //判断文件类型是否允许上传 
        if (AllowExt.indexOf(FileExt) == -1)
            ExtOK = false;
        if (ExtOK == false) {
            alert('你上传的文件格式不正确！只支持格式为“' + AllowExt + '”的Excel 97-2003的文件');
        }
        return ExtOK;
    }
}
function BindStaff(objId, depId, defTxt) {
    $("#" + objId).empty(); //清空Select
    if (defTxt != "")
        $("<option></option>").val("").text(defTxt).appendTo($("#" + objId));
    if (depId != "") {
        $.ajax({
            type: "post",
            url: "/WebService/GetStaff.asmx/GetStaffByDepID",
            data: "{ id: '" + depId + "'}",
            cache: false,
            contentType: "application/json",
            dataType: 'json',
            ifModified: true,
            async: false,
            success: function (result) {
                if (result.d != "") {
                    var jsonlist = eval(result.d);
                    if (jsonlist.length > 0) {
                        $("#" + objId).show();
                        for (i = 0; i < jsonlist.length; i++)
                            $("<option></option>").val(jsonlist[i].id).text(jsonlist[i].name).appendTo($("#" + objId));
                    }
                }
            }
        });
    }
}
function setStaff(objId, id) {
    $("#" + objId).val(id);
}
function sortTable(tbId, column, sortKey, dire) {
    $('#' + tbId).each(function () {
        var $table = $(this);                       //将table存储为一个jquery对象
        var td = $('#' + tbId).find("td").eq(column);
        var findSortKey;
        if (sortKey == 'alpha') {       //按字母排序
            findSortKey = function ($cell) {
                return $cell.find('sort-key').text().toUpperCase() + '' + $cell.text().toUpperCase();
            };
        } else if (sortKey == 'numeric') {       //按数字排序
            findSortKey = function ($cell) {
                var key = parseFloat($cell.text().replace(/^[^\d.]*/, ''));
                return isNaN(key) ? 0 : key;
            };
        } else if (sortKey == 'date') {          //按日期排序
            findSortKey = function ($cell) {
                return Date.parse('1 ' + $cell.text());
            };
        }

        if (findSortKey) {
            var newDirection = 1;
            if (dire == 'desc')
                newDirection = -1;
            var rows = $table.find('tbody>tr').get(); //将数据行转换为数组
            $.each(rows, function (index, row) {
                if (index > 0)
                    row.sortKey = findSortKey($(row).children('td').eq(column));
            });
            rows.sort(function (a, b) {
                if (a.sortKey < b.sortKey) return -newDirection;
                if (a.sortKey > b.sortKey) return newDirection;
                return 0;
            });
            $.each(rows, function (index, row) {
                $table.children('tbody').append(row);
                row.sortKey = null;
            });
            $table.trigger('repaginate');
        }
    });
}